import { getGoodList } from '@/api/goods'

export default {
  // 开启命名空间
  namespaced: true,
  
  // 用于保存数据发生变化时所存储的状态
  state: {
    cache: {}
  },

  // 用于修改数据，更新数据
  mutations: {
    updateCache (state, payload) {
      // console.log( payload )
      state.cache[payload.k] = payload.list
      // 使用深复制解决引用类型赋值操作
      state.cache = JSON.parse(JSON.stringify(state.cache))
    },

    clearCache (state) {
      state.cache = {}
    }
  },

  // 由Vue component 组件的用户行为请求基本的数据，请求后端的数据
  actions: {
    getGoodsOfCate (store, payload) {
      const params = {
        cate: payload.cate
      }
      // { k: 0, cate: digital }
      // { k: 1, cate: office }
      // { k: 2, cate: electrical }
      // { k: 3, cate: beauty }
      // 在后端做了底层的处理，使之能够进行匹配
      getGoodList(params).then(res => {
        // console.log( res )
        // 当后端请求到数据之后，交给mutations处理，更新state
        store.commit('updateCache', {k: payload.k, list: res.list})
      })
    }
  }
}